package com.taldh;

import java.util.ArrayList;
import java.util.List;

/**
 * vm args: -XX:PermSize=10M -XX:MaxPermSize=10M
 */
public class RuntimeConstantPoolOOM {

    public static void main(String[] args) {
        //使用List保持着常量池引用，避免Full GC回收常量池的行为
        List<String> list = new ArrayList<>();
        //10M 的 PermSize 在integer范围足够产生OOM了
        int i = 0;
        while (true) {
            list.add(String.valueOf(i++).intern());
        }
    }

}
